package com.itheima.lj.fragment;

import android.app.Application;
import android.widget.Toast;

import com.itheima.lj.adapter.NewsAdapter;
import com.itheima.lj.app.AppContext;
import com.itheima.lj.base.BaseListAdapter;
import com.itheima.lj.base.BaseListFragment;
import com.itheima.lj.bean.News;
import com.itheima.lj.bean.NewsList;
import com.itheima.lj.net.OSChinaApi;
import com.itheima.lj.utils.XmlUtils;

import java.util.List;


public class NewsFragment extends BaseListFragment<News> {
    //取得列表适配器
    @Override
    public BaseListAdapter getListAdapter() {
        return new NewsAdapter();
    }
    @Override
    public void sendRequestData() {
        //要请求的服务端的url
        String url="http://10.0.2.2:8080/oschina/list/news/page1.xml";
        /**访问服务端，获取数据
         *  url：访问的url
         *  回调接口ResultRefrsh： 处理访问服务端返回的数据 ：
         *     - onSuccess ： 成功后回调的方法
         *     - onFailue ：失败后回调的方法
         */
        // 1. 通过普通方式访问服务端获取数据
//        OSChinaApi.getData(url,listener);
        //2. 通过第三方框架AndroidAsync-http 访问服务端
//        OSChinaApi.getData(url,handler);
        //3. 对网络请求对象的二次封装(注意：地址是部分地址)
//         String urlPath="/oschina/list/news/page2.xml";
//        OSChinaApi.getData1(urlPath,handler);

        //4. 对业务请求的进一步封装
        //获取资讯列表数据， params1: pageIndex:请求页码
//        OSChinaApi.getNewsList(1,handler);
         //获取热点列表数据
        OSChinaApi.gethotSpotList(0,handler);
    }
    //解析xml数据
    @Override
    public List<News> parseList(byte[] datas) {
        NewsList newsList = XmlUtils.toBean(NewsList.class, datas);
        if(newsList!=null){
            return  newsList.getList();
        }
        return null;
    }
   //下拉刷新业务处理
    @Override
    public void onRefresh() {
        AppContext.getHandler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(AppContext.getContext(), "获取最新数据", Toast.LENGTH_SHORT).show();
              mSwipeRefreshLayout.setRefreshing(false);
            }
        },3000);

    }
}
